﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CalendarMgm.util
{
    interface ICalendarDB
    {
        //create, get, delete an event
        Boolean newEvent();

        void getEvent();    //actually, return type is Event.

        Boolean delEvent();

        //a series of method to set some attribute of an event
        Boolean setLocation();

        Boolean setType();

        Boolean setInterval();

        Boolean setEventName();

        Boolean setBeginTime();
        
        Boolean setEndTime();

        Boolean setComment();

        Boolean setStatus();

        
        //a series of methods to get some attribute of an event
        String getLocation();

        String getType();

        int getInterval();

        String getEventName();

        String getBeginTime();

        String getEndTime();

        String getComment();

        int getStatus();


        //methods about friends
        Boolean addFriend();

        Boolean delFriend();

        // 通过用户ID登录。 返回0则账号错误，返回1则成功，返回2则密码错误，返回3则数据库异常，不能登录,返回4则密码长度不对。
        int login(int id, string password);

        // 通过email登录。 返回0则账号错误，返回1则成功，返回2则密码错误，返回3则数据库异常，不能登录,返回4则密码长度不对。
        int login(string email, string password);

        // 注册成功就返回用户ID，email已经被注册则返回-1，数据库异常则返回-2
        int register(string userName, string passord, string userEmail, string sex, string province, string city);

        // 获取用户信息,获取成功则返回true,失败则返回false。
        bool getUserInfo(User user);

    }
}
